System and method for automatically detecting and repairing biometric crosslinks

ABSTRACT

Systems and methods for repairing cross-linked biometric records receive a set of biometric records. Each biometric record contains at least one biometric sample in a non-textual modality. One or more of the biometric records in the set of biometric records is potentially a cross-linked biometric record having at least two biometric samples that are associated with different individuals. Crosslink resolution is performed on the set of biometric records by searching for a match between a biometric sample in a given non-textual modality of a given biometric record with each biometric sample of the same given non-textual modality in each of the other biometric records in the set of biometric records. During the crosslink resolution, biometric sample may be removed from one biometric record and merged with another biometric record.

RELATED APPLICATION

This application claims the benefit of and priority to co-pending U.S.provisional application No. 61/835,149, filed Jun. 14, 2013, titled“Method for Automatically Detecting and Repairing Biometric Crosslinks,”the entirety of which application is incorporated by reference herein.

FIELD OF THE INVENTION

The invention relates generally to person identification. Morespecifically, the invention relates to systems and methods of identityresolution using biometric and biographic feature matching.

BACKGROUND

A “biometric crosslink” is defined as a biometric record that hasbiometrics and/or data (i.e., biographic information) collected frommore than one person. A biometric crosslink record can occur if theworkflow for the multimodal biometric capture process is such thatbiometrics from different modalities or subjects becomes intermixed in amultimodal biometric record. Biometric crosslink records can occurwherever there is potential for enrollment processes to be compromised,such as, for example, in hostile enrollment environments or in placeswith inadequate enrollment quality control.

Biometric crosslink records compromise the integrity of a biometric datarepository and create challenges for identification or verificationprocesses, because only a subset of a subject's modalities may bematched in the same record. Consequently, it degrades the performance ofan ABIS (Automatic Biometrics Identification System) and impedes overalloperational effectiveness.

Repair of biometric crosslinks can be complex, computationally intensiveand time consuming because of the potentially large number of possiblecombinations and the exponentially increasing nature of the number ofrequired comparisons. For example, repairing n crosslinked recordsrequires n^(m) comparisons, where m is the number of differentmodalities.

SUMMARY

In one aspect, the invention features a method of repairing cross-linkedbiometric records. The method comprises receiving a set of biometricrecords. Each biometric record contains at least one biometric sample ina non-textual modality. One or more of the biometric records in the setof biometric records is potentially a cross-linked biometric recordhaving at least two biometric samples that are associated with differentindividuals. Cross-link resolution is performed on the set of biometricrecords by searching for a match between a biometric sample in a givennon-textual modality of a given biometric record with each biometricsample of the same given non-textual modality in each of the otherbiometric records in the set of biometric records.

In another aspect, the invention features computer program product forrepairing cross-linked biometric records. The computer program productcomprises a non-transitory computer readable storage medium havingcomputer readable program code embodied therewith. The computer readableprogram code comprises computer readable program code that, if executed,receives a set of biometric records, each biometric record containing atleast one biometric sample in a non-textual modality. One or more of thebiometric records in the set of biometric records is potentially across-linked biometric record having at least two biometric samples thatare associated with different individuals. The computer readable programcode further comprises computer readable program code that, if executed,performs cross-link resolution on the set of biometric records to repaireach cross-linked biometric record in the set by searching for a matchbetween a biometric sample in a given non-textual modality of a givenbiometric record with each biometric sample of the same givennon-textual modality in each of the other biometric records in the setof biometric records.

In still another aspect, the invention features a computer systemcomprising memory storing program code that, if executed, performscross-link resolution on biometric records, and a processor programmedto receive a set of biometric records. Each biometric record contains atleast one biometric sample in a non-textual modality. One or more of thebiometric records in the set of biometric records is potentially across-linked biometric record having at least two biometric samples thatare associated with multiple different individuals. The processorexecutes the program code stored in memory to perform cross-linkresolution on the set of biometric records to repair each cross-linkedbiometric record in the set. The cross-link resolution includessearching for a match between a biometric sample in a given non-textualmodality of a given biometric record in the set of biometric recordswith each biometric sample of the same given non-textual modality ineach of the other biometric records in the set.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and further features and advantages may be better understoodby referring to the following description in conjunction with theaccompanying drawings, in which like numerals indicate like structuralelements and features in various figures. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingthe principles of features and implementations.

FIG. 1 is a diagram of a set of multimodal biometric records, whichinclude examples of biometric crosslink records.

FIG. 2 is a diagram of a resulting set of repaired biometric recordsbased on the original set of biometric records shown in FIG. 1.

FIG. 3 is a flow diagram of an embodiment of a process for repairingbiometric crosslink records.

FIG. 4A, FIG. 4B, and FIG. 4C comprise a flow diagram of an embodimentof a process for detecting and repairing cross-linked biometric records.

FIG. 5A, FIG. 5B, FIG. 5C, FIG. 5D, FIG. 5E, FIG. 5F, and FIG. 5Gcomprise a series of diagrams of a small set of biometric recordsundergoing the process of cross-link resolution described in connectionwith FIG. 4A, FIG. 4B, and FIG. 4C.

FIG. 6 is a block diagram of an embodiment of a computing system fordetecting and repairing cross-linked biometric records.

DETAILED DESCRIPTION

Systems and methods described herein embody a methodology forautomatically repairing biometric crosslinks using the principles andtechniques of entity resolution. In general, entity resolution is theprocess of determining if multiple references refer to the same realworld individual. Traditionally, the techniques of entity resolutionhave been applied to textual records. The methodology described hereinextends the principles of entity resolution to non-textual modalities.In addition, this methodology introduces two techniques, not employed intraditional entity resolution, to handle the challenge of biometricrecords containing textual and non-textual modalities referring to morethan one individual. These two techniques are called “modality split”and “modality merge.”

A “modality split” is a process of removing a modality from a biometricrecord, and involves determining if a particular modality belongs to thebiometric record in which it is found, whether the particular modalityshould be removed from the biometric record, and how the removedmodality is handled. The modality split process can be adapted to avoidgenerating orphaned modalities. An orphaned modality is a biometricrecord containing a single modality.

A “modality merge” is a process of adding a modality to a biometricrecord. The modality merge process involves clustering biometric samplesof a given modality that have been determined to match, and handlingnon-transitive closure in matching (i.e., A matches B and B matches C;however A does not match C).

A result of the repair process is a set of records, wherein each recordin the set contains the highest known quality biometric samples andinformation regarding one individual only, and wherein a minimal numberof records in the set have an orphaned modality.

FIG. 1 shows an example of a set 10 of multimodal biometric records12-1, 12-2, 12-3, 12-4, and 12-5 (referred to generally as biometricrecord 12). In this example, biometric records 12-1, 12-2, and 12-3 areundivided, each containing biometric data for a single subject only,whereas biometric records 12-4 and 12-5 are cross-linked. For instance,each of the modalities 14 of biometric record 12-1, identified byTransaction Control Number (TCN) 1, is associated with the same subjectA. These example modalities 14 include, but are not limited to,biometric information 16, iris image(s) 18, face image(s) 20, andfingerprint(s) 22. Similarly, each of the modalities 14 of biometricrecord 12-2, identified by TCN 2, is associated with the same subject B,and each of the modalities 14 of biometric record 12-3, identified byTCN 3, is associated with the same subject C. (Different fill patterns,such as crosshatching, sparse dots, and dense dots represent thedifferent subjects for each particular biometric data type). Althoughdescribed herein with respect to text, iris, face and fingerprintimages, the principles can extend to other types of modalities,including, but not limited to, DNA, retina, and voice.

In contrast, cross-linked biometric record 12-4, identified by TCN 27,contains biographic information 16, an iris image 18, and a face image20 from a first subject (A) and fingerprints 22 from a different subjectC. Biometric record 12-5, identified by TCN 27, illustrates anotherexample of a biometric crosslink record because the record 12-5 containsbiographic information 16, an iris image 18, and a face image 20 fromsubject C and fingerprints 22 from a different subject A.

FIG. 2 shows an example of a resulting set 40 of repaired biometricrecords based on the original set 10 of biometric records 12-1, 12-2,12-3, 12-4, and 12-5 shown in FIG. 1. The resulting set 40 includesbiometric records 42-1, 42-2, and 42-3 (generally, 42), each of which isundivided, that is, without any crosslinks because all modalities ofbiometric data in each biometric record 42 is associated with a singlesubject only. For example, biometric record 42-1 is an aggregation ofall instances of biometric data in the original set 10 associated withsubject A. This aggregation includes all modalities 14 taken frombiometric record 12-1 (TCN 1), the biometric information 16, iris image18, and face image 20 taken from biometric record 12-4 (TCN 27), and thefingerprint image 22 taken from biometric record 12-5 (TCN 28).

Biometric record 42-2 is an aggregation of all instances of biometricdata in the original set 10 associated with subject B. In this instance,biometric record 42-1 matches biometric record 12-2 (TCN 2), because nobiometric records in the original set 10 other than biometric record12-2 contains biometric data associated with subject B.

Biometric record 42-3 is an aggregation of all instances of biometricdata in the original set 10 associated with subject C, including allmodalities 14 taken from biometric record 12-3 (TCN 3), the fingerprintimage 22 taken from biometric record 12-4 (TCN 27) and the biometricinformation 16, iris image 18, and face image 20 taken from biometricrecord 12-5 (TCN 28).

FIG. 3 shows an embodiment of a general process 50 for repairingbiometric crosslink records. The process 50 involves obtaining (step 52)a set of biometric records, which, for purposes of illustration, has anunknown number of biometric cross-linked records, preprocessing (step54) the record fields used for comparison (e.g., creating fingerprinttemplates and segmentation of fingerprint images), performing (step 56)cross-link resolution by applying entity resolution principles to repairthe biometric cross-linked records, and producing (step 58) the repairedbiometric records. The first two stages (steps 52, 54) in the process 50convert biometrics records into formats that can be mapped totraditional entity resolution inputs, while the repair work is performedat the cross-link resolution stage (step 56). Step 58 includes savingthe results of the process 50, which includes repaired biometricrecords.

FIG. 4A, FIG. 4B, and FIG. 4C together show an embodiment of a process100 for detecting and repairing cross-linked biometric records. For theprocess 100, a workspace in memory is defined, for temporarily storingnew biometric records, referred to as entities. These entities areworks-in-progress: biometric modalities can be added or removed from agiven workspace entity throughout the execution of the process 100.Initially, the workspace is empty.

Referring to FIG. 4A, a probe record is taken (step 102) from a set ofbiometric records stored in a data repository 70. The set of biometricrecords may have one or more cross-linked biometric records. Themodifier “probe” serves here to identify the particular biometric recordcurrently being analyzed. The probe record has one or more biometricsamples in one or more modalities (referred to as “biometric modality”,for short).

A biometric modality of the probe record is compared (step 104) with thesame type of biometric modality in each entity in the workspace.Entities in the workspace may or may not have a biometric sample of thesame modality. The number of matches found determines the treatment ofthis biometric modality of the probe record. The process of searchingfor matches between non-textual biometric modalities does not require anexact match. It is sufficient that a comparison between biometricmodalities produces a match score above a specified biometric matcherthreshold in order for a match to be declared. The higher the score, thestronger the match. Different modalities generally have differentbiometric matcher thresholds. Each biometric matcher threshold can be apreset configuration parameter.

If, at step 106, no match is found, and, at step 108, this is the firstbiometric modality of the probe record being analyzed, a new entity isproduced (step 110) in the workspace and the first biometric modality ofthe probe record is added to the new entity. If no match is found (step106) and this is not the first modality of the probe record (step 108),the process 100 acquires (step 112) the workspace entity associated withthe probe record and appends the biometric modality to that existingentity.

If, at step 114, the current modality is the last of the modalities inthe probe record, the process 100 returns to acquiring (step 102) thenext probe record from the set of biometric records 70; otherwise theprocess continues to acquire (step 104) the next modality from the proberecord. If, however, at step 116, all biometric records have alreadybeen analyzed, the process 100 terminates. It is to be understood thatbefore the process terminates one or more actions can be taken, forexample, storing the entities in the workspace in the database (datarepository) 70, outputting results onto a screen, preparing a reportidentifying changed biometric records, transmitting the report over anetwork.

Referring back to step 106, if, instead, only one match is found betweenthe biometric modality of the probe record and a biometric modality ofan entity in the workspace, the process 100 can take one of threeactions, depending upon a preferred implementation of the process100: 1) split the biometric modality from the probe record and merge itwith the workspace entity; 2) split the biometric modality fromworkspace entity and add it to the probe record; or 3) split thematching biometric modalities from both the workspace entity and theprobe record, and generate a new workspace entity that includes thesetwo biometric modalities. The third option is least preferred, as theoperation produces an “orphaned modality”, namely, a biometric recordwith only one type of biometric modality. Biometric records withorphaned modalities are generally inadequate, in and of themselves, toidentify an individual because they have only one type of biometricmodality (although it can have multiple biometric samples of that onemodality type). Notwithstanding, biometric records with orphanedmodalities can still be used in resolving cross-linked biometricrecords.

FIG. 4B illustrates the first of the three options. At step 118, thebiometric modality is removed from the probe record. At step 120, thebiometric modality that was removed from the probe record is added tothe workspace entity with the matching biometric modality. After addingthe biometric modality of the probe record to the workspace entity, theprocess 100 resumes with acquiring the next biometric modality of theprobe record, if any, or the next probe record in the database 70, ifany, as illustrated by step 114 and step 116, respectively, of FIG. 4A.

Referring again back to step 106 of FIG. 4A, if, instead, multiplematches are found between the biometric modality of the probe record andbiometric modalities of one or more entities in the workspace, theprocess 100 proceeds to determine how to split and merge the matchingmodalities. Referring now to FIG. 4C, the process 100 determines (step122) whether all of the matches are with a single entity in theworkspace. If all matches are with one workspace entity, the biometricmodality is split (step 124) from the probe record and merged (step 126)with that workspace entity.

Alternatively, when the biometric modality of the probe record matchesmodalities of multiple entities in the workspace, distances (step 128)among the match scores are used to determine the probability that allthe matched modalities are equivalent, thereby establishing iftransitive closure exists. Suppose that the distances analysis indicatesthat all matched modalities are equivalent (i.e., transitive closure),those modalities (including the one from the probe record) are mergedand assigned to one of the multiple matching entities in the workspace.It is assumed that modalities from the same encounter are more likely tobelong to the same individual relative to modalities from otherencounters; hence keeping the maximum number of modalities from the sameprobe record (encounter) together, where possible, is of primaryinfluence to the decision of the particular entity in the workspace towhich the modalities should be assigned. Secondarily, otherconsiderations, such as entities with the highest number of encounterswith a defined maximum modality set (count of encounters where a definedmaximum set of modalities are contained in the same entity); can be usedfor further disambiguation. Hence, it is determined which of theseworkspace entities contains the largest set of modalities from theencounter(s) that produced the matched modality and all matchingmodalities (from the probe record and other workspace entities) aremerged in that workspace entity.

For example, consider an iris modality in a probe record that matchesiris modalities in three workspace entities (E1, E2, and E3). Considerfurther that entity E1 contains 3 out of 5 modalities from the proberecord that produced the matching iris, entity E2 contains 2 out of 5modalities, and entity E3 contains 1 out of 5 modalities. Following theprimary objective mentioned above; merging to the entity E1 bestsatisfies keeping the maximum number of modalities from the same proberecord together. The process splits the iris modality from each of theentities E2 and E3 and merges those iris modalities with the entity E1.If a new workspace entity is created because of processing the proberecord, the above decision to merge the iris modalities with the entityE1 is reexamined. The decision can be made in support of re-assigningthe iris modalities to the newly created entity if it is determined thatthe newly created entity contains, for example 4 out of 5 modalities(including the iris modality).

Accordingly, at step 130, it is determined whether the least similarbiometric modality is similar enough to the other biometric modalities.If this determination is affirmative, the biometric modality is removed(step 132) from the probe record and the least similar biometricmodality is removed from the workspace entity with the least similarmatching modality. Both of these removed biometric modalities are thenadded (step 134) to the workspace entity having the most similarmatching modality.

Alternatively, if, at step 130, the least similar biometric is notsimilar enough to the other biometrics, the biometric modality isremoved (step 136) from the probe record and the corresponding matchingbiometric modality is removed from each of the workspace entities. Theseremoved biometric modalities are added (step 138) to a new workspaceentity, which thus has an orphaned modality.

FIGS. 5A-5G together show an example of the process 100 applied to asmall set of biometric records 12 (in this example, six, labeled TCN 1through TCN 6). In FIGS. 5A-5G, modalities of the same fill pattern arepresumed to belong to the same individual (i.e., person). A letterdesignation (A-D) in each modality complements the fill pattern forpurposes of showing which modality belongs to which individual. Forexample, TCN 1 has text, a face image, fingerprint, and iris imagebelonging to the same individual.

In general, the process 100 iteratively steps through the biometricrecords 12, treating each biometric record in sequence and searching,for each modality in that biometric record, for matches among theentities presently occupying the workspace 150. Accordingly, each of thebiometric records 12, from TCN 1 through TCN 6, are, in turn, analyzedas the probe record against those entities presently in the workspace150. For purposes of illustrating the principles of the process 100,modalities of the same fill pattern are presumed to match.

FIG. 5A shows the set of six biometric records before the process 100runs. Initially, the workspace 150 is empty. Each TCN biometric records12 corresponds to a human encounter, referred to as a humanintervention. In this example, each of the TCN biometric records 12includes text information 16, an iris 18, a face image 20, and afingerprint 22. The text information is referred to as a textualmodality, whereas face images, fingerprints, and irises are examples ofnon-textual modalities. Fingerprint samples can be partial or full. Theprinciples extend to other examples of modalities, such as full orpartial palm prints and a full or partial foot prints.

FIG. 5B shows the set of biometric records after the analysis of thebiometric record for TCN 1. Because there are no entities currently inthe workplace 150, no matches can occur between any of the modalities ofTCN 1 and modalities of entities in the workplace 150. Accordingly, asillustrated by steps 106-112 in FIG. 4A, a new entity 160-1 is createdin the workspace, and each of the modalities of TCN 1 are, in turn,added to this new entity 160-1. The result is a workspace entity 160-1that appears to be a copy of the biometric record corresponding to TCN1. For purposes of simplification, the original biometric record 12 forTCN 1 is omitted from FIG. 5B. In practice, each original biometricrecord 12 may be retained in the biometric record database 70 (FIG. 4A)or discarded.

FIG. 5C shows the set of biometric records after the analysis of thenext probe record, TCN 2. Each of the modalities of the probe record,TCN 2, taken in turn, does not match a corresponding modality of eachworkspace entity (presently, there being only one such entity 160-1 inthe workplace 150 arising from the first biometric record processed,namely, TCN 1). Steps 106-112 in FIG. 4A result in a new entity 160-2 inthe workspace, with each of the modalities of TCN 2 being added, insequence, to this new entity 160-2. The result is a workspace entitythat appears to be a copy of biometric record corresponding to TCN 2. Inaddition, the workspace 150 presently contains two workspace entities160-1, 160-2.

FIG. 5D shows the set of biometric records after the analysis of thenext probe record, TCN 3. This biometric record has three modalities(text 16, face image 20, and iris 18) that do not match anycorresponding modality in either of the two workspace entities 160-1,160-2. The search for a match for the text modality results in a newentity 160-3 in the workspace (according to steps 106-110 in FIG. 4A).When each of face and iris modalities of TCN 3 are processed, each isadded to this new entity in accordance with steps 106, 108 and 112. Thefingerprint modality of TCN 3, on the other hand, matches thefingerprint modality in the workspace entity 160-1 corresponding to TCN1. Steps 118, 120 (FIG. 4B) cause this fingerprint modality to beremoved from the original biometric record TCN 3 and merged with theworkspace entity 160-1 corresponding to TCN 1. In effect, thefingerprint modality has been split from the original biometric recordTCN 3 and merged with the original biometric TCN 1; workspace entity160-3 corresponds to the original biometric record TCN 3 from which thefingerprint modality has been split, and workspace entity 160-1corresponds to the original biometric record TCN 1 with which thefingerprint modality has merged.

After, the workspace 150 contains three entities, a first entity 160-1corresponding to the biometric record TCN 1 that now includes the mergedfingerprint taken from TCN 3, a second entity 160-2 resulting from thebiometric record TCN 2, and a third entity 160-3 derived from thebiometric record TCN 3, but lacking the fingerprint image 22. Theidentification “TCN 3” can become associated with the first entity160-1, the third entity 160-3, or both (as shown).

FIG. 5E shows the set of biometric records after the analysis of thenext probe record, TCN 4. Each of the modalities 16, 18, 20, 22 of thisprobe record (TCN 4) does not match a corresponding modality of any ofthe workspace entities 160-1, 160-2, 160-3. Steps 106-112 in FIG. 4Aresult in a new entity 160-4 in the workspace 150, with each of themodalities of TCN 4 being iteratively added to this new entity 160-4.This new entity 160-4 joins the three other entities 160-1, 160-2, and160-3 presently in the workspace 150; in effect, the new entity 160-4corresponds directly to the original biometric record TCN 4.

FIG. 5F shows the set of biometric records after the analysis of thenext probe record, TCN 5. This biometric record contains text 16 and aface image 20 that matches the text 16 and face image 20, respectively,of the third workspace entity 160-3, and a fingerprint and iris thatmatch their respective modalities of the workspace entity 160-2. Steps118, 120 in FIG. 4B cause the text and face image modalities to beremoved (or copied) from the TCN 5 (each modality being processed one ata time) and merged with the workspace entity 160-3. These same steps,when applied to the other modalities, cause the fingerprint and irisimage modalities to be removed (or copied) from the biometric record(TCN 5) 12 and merged with the workspace entity 160-2 (also, onemodality during each iteration of the process 100). The identification“TCN 5” can become associated with the second entity 160-2, the thirdentity 160-3, or both (as shown). In effect, the original biometricrecord TCN 5 no longer exists (in this simple example), all of itsmodalities having been split from the biometric record TCN 5 and mergedwith another biometric record. Notwithstanding, a copy of the originalbiometric record TCN 5 can be saved, for example, for archival purposes.

FIG. 5F shows the set of biometric records after the analysis of thenext probe record, TCN 5, TCN 6. This biometric record contains text 16,a face image 20, fingerprint 22, and iris 18 that match the text, faceimage, fingerprint, and iris, respectively, of the workspace entity160-1. With each modality being processed in sequence, steps 118-120 inFIG. 4B cause the text, face image, fingerprint, and iris modalities tobe removed from the biometric record TCN 6 and merged with the workspaceentity 160-1. In effect, the original biometric record TCN 6 has mergedwith the original biometric record TCN 1, which was previously modifiedby the addition of the fingerprint modality split from the originalbiometric record TCN 3.

Because biometric records with orphaned modalities are generallyunwanted, the process 100 can include an additional process, after alloriginal biometric records 12 are processed or after completing a givenprobe record, to determine whether the processing of the full proberecord produced a workspace entity with an orphaned modality. If so, adecision can be made to move each biometric sample (there may be morethan one) of the orphaned modality from that workspace entity to anotherworkspace entity. The process 100 can merge the biometric sample(s) withmultiple entities where there is uncertainty as to which particularworkspace entity to move the biometric sample(s).

At the completion of the process 100, after the processing of everyoriginal biometric record 12, each entity 160 within the workspace 150is not cross-linked. These workspace entities may be written back to thedata repository 70 (FIG. 4A) as repaired biometric records.

FIG. 6 shows an embodiment of a computing system 200 for detecting andrepairing cross-linked biometric records. The computing system 200 is incommunication with a database 202 containing biometric records 12 (FIG.1). The communication can be across a network (not shown), embodimentsof which include, but are not limited to, local-area networks (LAN),metro-area networks (MAN), and wide-area networks (WAN), such as theInternet or World Wide Web. The computing system 200 can connect to thedatabase 202 through one or more of a variety of connections, such asstandard telephone lines, digital subscriber line (DSL), asynchronousDSL, LAN or WAN links (e.g., T1, T3), broadband connections (FrameRelay, ATM), and wireless connections (e.g., 802.11(a), 802.11(b),802.11(g)).

The computing system 200 includes an interface 204, a processor 206, andmemory 208. Example implementations of the computing system 200 include,but are not limited to, personal computers (PC), Macintosh computers,server computers, blade servers, workstations, laptop computers, kiosks,hand-held devices, such as a personal digital assistant (PDA), mobilephones, smartphones, tablets, Apple iPads™, Amazon.com KINDLEs®, andnetwork terminals. The interface 204 is in communication with thedatabase 202 from which to receive the biometric records 12, includingany cross-linked records, and towards which to transmit repairedbiometric records 160 (FIG. 5G) for storage within the database 202.

The processor 206 executes a cross-link resolution program 210 stored inthe memory 208. In brief, the cross-link resolution program 210 removescross-linking from biometric records by splitting, merging, orgenerating new biometric records as previously described in connectionwith FIGS. 4A-4C. In the performance of its objective, the cross-linkresolution program 210 uses a workspace 150, which is a portion of thememory 208 used to hold the workspace entities 160 temporarily beforeprocessor 206 writes these workspace entities 160 back to the database202, storing them as repaired biometric records. Each stored record 160can include a flag, status, or other form of identification indicatingthat the particular record has resulted from a cross-link analysis.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method, and computer programproduct. Thus, aspects of the present invention may be embodied entirelyin hardware, entirely in software (including, but not limited to,firmware, program code, resident software, microcode), or in acombination of hardware and software. All such embodiments may generallybe referred to herein as a circuit, a module, or a system. In addition,aspects of the present invention may be in the form of a computerprogram product embodied in one or more computer readable media havingcomputer readable program code embodied thereon.

The computer readable medium may be a computer readable storage medium,examples of which include, but are not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination thereof. As usedherein, a computer readable storage medium may be any tangible mediumthat can contain or store a program for use by or in connection with aninstruction execution system, apparatus, device, computer, computingsystem, computer system, or any programmable machine or device thatinputs, processes, and outputs instructions, commands, or data. Anon-exhaustive list of specific examples of a computer readable storagemedium include an electrical connection having one or more wires, aportable computer diskette, a floppy disk, a hard disk, a random accessmemory (RAM), a read-only memory (ROM), a USB flash drive, annon-volatile RAM (NVRAM or NOVRAM), an erasable programmable read-onlymemory (EPROM or Flash memory), a flash memory card, an electricallyerasable programmable read-only memory (EEPROM), an optical fiber, aportable compact disc read-only memory (CD-ROM), a DVD-ROM, an opticalstorage device, a magnetic storage device, or any suitable combinationthereof.

Program code may be embodied as computer-readable instructions stored onor in a computer readable storage medium as, for example, source code,object code, interpretive code, executable code, or combinationsthereof. Any standard or proprietary, programming or interpretivelanguage can be used to produce the computer-executable instructions.Examples of such languages include C, C++, Pascal, JAVA, BASIC,Smalltalk, Visual Basic, and Visual C++.

Transmission of program code embodied on a computer readable medium canoccur using any appropriate medium including, but not limited to,wireless, wired, optical fiber cable, radio frequency (RF), or anysuitable combination thereof.

The program code may execute entirely on a user's computer, partly onthe user's computer, as a stand-alone software package, partly on theuser's computer and partly on a remote computer or entirely on a remotecomputer or server. Any such remote computer may be connected to theuser's computer through any type of network, including a local areanetwork (LAN) or a wide area network (WAN), or the connection may bemade to an external computer (for example, through the Internet using anInternet Service Provider).

Additionally, the methods of this invention can be implemented on aspecial purpose computer, a programmed microprocessor or microcontrollerand peripheral integrated circuit element(s), an ASIC or otherintegrated circuit, a digital signal processor, a hard-wired electronicor logic circuit such as discrete element circuit, a programmable logicdevice such as PLD, PLA, FPGA, PAL, or the like.

Furthermore, the disclosed methods may be readily implemented insoftware using object or object-oriented software developmentenvironments that provide portable source code that can be used on avariety of computer or workstation platforms. Alternatively, thedisclosed system may be implemented partially or fully in hardware usingstandard logic circuits or a VLSI design. Whether software or hardwareis used to implement the systems in accordance with this invention isdependent on the speed and/or efficiency requirements of the system, theparticular function, and the particular software or hardware systems ormicroprocessor or microcomputer systems being utilized. The methodsillustrated herein however can be readily implemented in hardware and/orsoftware using any known or later developed systems or structures,devices and/or software by those of ordinary skill in the applicable artfrom the functional description provided herein and with a general basicknowledge of the computer and image processing arts.

Moreover, the disclosed methods may be readily implemented in softwareexecuted on programmed general-purpose computer, a special purposecomputer, a microprocessor, or the like. In these instances, the systemsand methods of this invention can be implemented as program embedded onpersonal computer such as JAVA® or CGI script, as a resource residing ona server or graphics workstation, as a routine embedded in a dedicatedfingerprint processing system, as a plug-in, or the like. The system canalso be implemented by physically incorporating the system and methodinto a software and/or hardware system, such as the hardware andsoftware systems of an image processor.

While this invention has been described in conjunction with a number ofembodiments, it is evident that many alternatives, modifications, andvariations would be or are apparent to those of ordinary skill in theapplicable arts. Accordingly, it is intended to embrace all suchalternatives, modifications, equivalents, and variations that are withinthe spirit and scope of this invention.

1. A method of repairing cross-linked biometric records, comprising:receiving a set of biometric records, each biometric record containingat least one biometric sample in a non-textual modality, one or more ofthe biometric records in the set of biometric records potentially beinga cross-linked biometric record having at least two biometric samplesthat are associated with different individuals; and performingcross-link resolution on the set of biometric records by searching for amatch between a biometric sample in a given non-textual modality of agiven biometric record with each biometric sample of the same givennon-textual modality in each of the other biometric records in the setof biometric records. 2-24. (canceled)